#include <io.h> требуется только для объявления функции
int chsize(handle,size);
int handle; handle-р, ссылающийся на открытый файл
long size; новая длина файла в байтах
Описание.
Функция chsize увеличивает или уменьшает файл, связанный с handle-ром, до размера, определяемого аргументом size. Файл должен быть открыт в режиме, который разрешает запись. Если файл увеличивается, к нему добавляются нулевые символы '\0'. Если файл уменьшается, все данные от конца укороченного файла до первоначальной длины файла теряются.
Возвращаемое значение.
Функция chsize возвращает значение 0, если файл успешно изменен. Возвращаемое значение -1 свидетельствует об ошибке и errno устанавливается в одно из следующих значений:
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
EACCES Заданный файл определен только для
чтения. Для версий MS DOS 3.0 и старших,
EACCES свидетельствует о принудительной
блокировке.(Определенный файл заблоки-
рован для доступа)
EBADF Неверный файловый handle
ENOSPC На устройстве не осталось свободного места
Пример:
#include <io.h>
#include <fcntl.h>
#include <sys\types.h>
#include <sys\stat.h>
#define MAXSIZE 32768L
int fh, result;
.
.
.
fh=open("data", O_RDWR|O_CREAT, S_IREAD|S_IWRITE);
.
.
.
/* перед закрытием файла нужно убедиться, что он
** не длиннее 32К
*/
if (lseek(fh,LO,2)>MAXSIZE)